了解spring @Configuration类
在理解“ Spring @Autowired用法”这个问题之后,我想为弹簧接线的另一个选项(@Configuration类)创建一个完整的知识库。假设我有一个看起来像这样的spring XML文件:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:...
2024-01-10系统学习Spring之Spring in action(五)
本文内容纲要:- 每日一叨:- 文章导读:- 1.通过XML实现Bean的自动装配- 2.通过注解装配bean- 知识点:- 1.通过XML实现Bean的自动装配- 2.通过注解装配bean每日一叨: 原本想这个星期六和星期天把依赖注入和面向切面编程写完的,结果小姨来南京玩,写博客的计划...
2024-01-10Jackson 2.0 with Spring 3.1
Spring MVC 3.1与Jackson 2.0兼容吗?Spring MVC在类路径上自动检测Jackson并委托给Jackson以JSON内容类型的请求是否仍然有效?回答:来自spring的Keith Donald前一段时间在Twitter上发布了推文。Spring MVC对Jackson 2的支持;还可以与Jackson的本机“漂亮打印”功能配合使用https://gist.github.com/2423129我没有尝试MappingJackson2Htt...
2024-01-10Spring事件Application Event原理详解
这篇文章主要介绍了Spring 事件Application Event原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下Spring 的事件(Application Event)为 Bean 与 Bean 之间的消息通信提供了支持。当一个 Bean 处理完一个任务之后,希望另一个 Bean 知道并能做相应的...
2024-01-10Spring AOP pointcut 表达式
本文内容纲要:- Wildcard- Operators- DesignatorsWildcard*: 匹配任意数量的字符+:匹配制定数量的类及其子类..:一般用于匹配任意数量的子包或参数详细示例见后面的例子Operators&&:与操作符||:或操作符!:非操作符Designators1. within()//匹配productService类中的所有方法@pointcut("within(com.sample.ser...
2024-01-10Spring boot中Jackson的操作指南
前言有一段时间没写博客了,虽然是菜鸟一枚但毕竟总要有东西记录学习的,我相信有志者事竟成。今天在工作中使用Jackson转换了一个javabean,传到测试服上之后发现日期少了一天,使用的是@JsonFormat注解。Spring-Boot是基于Spring框架的,它并不是对Spring框架的功能增强,而是对Spring的一种快速构建的方式...
2024-01-10Jackson的@ JsonView,@ JsonFilter和Spring
可以同时使用Spring 和的注释,使用Jackson @JsonView和@JsonFilter注释来修改Spring MVC控制器返回的JSON吗?MappingJacksonHttpMessageConverter``@ResponseBody``@RequestBodypublic class Product{ private Integer id; private Set<ProductDescription> descriptions; private BigDecimal p...
2024-01-10spring junit load应用程序上下文进行测试
我的WEB-INF目录下有一些XML文件:lyricsBaseApp-servlet.xmlhibernate.xmldataSource.xmlbeans.xmlservlet xml导入其他xml文件:<import resource="dataSource.xml"/><import resource="hibernate.xml"/><import resource="beans.xml"/>我希望我的junit4 JukeboxTest类包含整个spring配置。使用默认文件名,我创建了一个Juk...
2024-01-10Spring AOP中pointcut expression表达式解析
本文内容纲要:Spring AOP中pointcut expression表达式解析注解@Pointcut 是指哪些方法 需要被执行 AOP,是由“PointCut Expression”execution(modifier-pattern? ret-type-pattern declaring-type-pattern? name-pattern(param-pattern) throws-pattern?) pattern分别表示修饰符匹配(modifier-pattern?)、返回值匹配(ret-t...
2024-01-10使用try catch块时的Spring @Transactional注释
如果我们在带有@Transactional注释的方法中捕获到异常,如果发生任何异常,它将回滚吗?@Transactional(readOnly = false, propagation = Propagation.REQUIRED, rollbackFor=Throwable.class)public void yearEndProcess() { try { // try block } catch (Throwable throwable) { // catch ...
2024-01-10Spring Boot不加@Transactional会开启事务吗?
如题,网上说Spring Boot默认开启事务,是不是即使不加@Transactional注解,框架也自动帮我们开启了事务,如果开启了,事务的隔离级别如何呢?另外实际生产环境什么时候需要用到事务呢,隔离级别该如何设置呢?回答:是的,在执行数据库写操作时 spring boot 框架一般会默认开启。但是不加 @Transactional 的情况下,事务不好控制。默认的隔离级别应该是 READ_CO...
2024-02-20深入剖析 Spring 框架的 BeanFactory
本文内容纲要:深入剖析 Spring 框架的 BeanFactory说到Spring框架,人们往往大谈特谈一些似乎高逼格的东西,比如依赖注入,控制反转,面向切面等等。但是却忘记了最基本的一点,Spring的本质是一个bean工厂(beanFactory)或者说bean容器,它按照我们的要求,生产我们需要的各种各样的bean,提供给我们使用...
2024-01-10spring aop|切入点pointcut表达式编写方案示例
本文内容纲要:- 概念及作用- 关于AspectJ- 表达式中的关键字- 切入点表达式的使用示例概念及作用切入点表达式,也称之为AspectJ切入点表达式,指的是遵循特定语法结构的字符串,其作用是用于对符合语法格式的连接点进行增强。,它是AspectJ表达式的一部分。关于AspectJAspectJ是一个基于Java语...
2024-01-10Spring AOP 实现——使用annotation、pointcut、aspect
本文内容纲要:Spring AOP 实现——使用annotation、pointcut、aspect1.annotation注解@Interface,代表一种标记。常见的注解有@Override,@Deprecated,@SuppressWarnings。以及@Data。注解的注解,成为元注解。常见元注解有:@Retention,@TargetRetention有一个属性RetentionPolicy,包含3个值。RetentionPolicy.SOURCE 不会保留在class...
2024-01-10详解spring cloud分布式整合zipkin的链路跟踪
为什么使用zipkin?上篇主要写了:spring cloud分布式日志链路跟踪从上篇中可以看出服务之间的调用,假设现在有十几台服务,那么在查找日志的时候比较繁琐、复杂,而且在查看调用的时候也会像蜘蛛网一样,量太大。这时候zipkin可以把链路调用整个过程给升级起来,只需要到一个地方去查找,就可...
2024-01-10Spring aop 记录操作日志 Aspect 自定义注解
本文内容纲要:Spring aop 记录操作日志 Aspect 自定义注解时间过的真快,转眼就一年了,没想到随手写的笔记会被这么多人浏览,不想误人子弟,于是整理了一个优化版,在这里感谢智斌哥提供的建议和帮助,话不多说,进入正题所需jar包 :spring4.3相关联以及aspectjweaver-1.8.5.jar,jdk 1.7,1.8亲测可用,...
2024-01-10Spring Data JPA如何使用Kotlin空值而不是Optional
我正在使用Spring Data JPA和Kotlin编写Spring Boot应用程序,并且我注意到其中CrudRepository存在以下方法:Optional<T> findById(ID id);不过,我使用的是Kotlin,它处理空值的方式比更加流畅Optional。有谁知道我如何将这种方法转换为这样的工作?fun findById(id: ID): T?当我扩展Repository自身并使用该签名创建存储库时...
2024-01-10Spring Boot2.0 @ConfigurationProperties使用详解
引言Spring Boot的一个便捷功能是外部化配置,可以轻松访问属性文件中定义的属性。本文将详细介绍@ConfigurationProperties的使用。配置项目POM在pom.xml中定义Spring-Boot 为parent<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.4.RELEASE</version>...
2024-01-10浅析Java中Apache BeanUtils和Spring BeanUtils的用法
# 前言在我们实际项目开发过程中,我们经常需要将不同的两个对象实例进行属性复制,从而基于源对象的属性信息进行后续操作,而不改变源对象的属性信息,比如DTO数据传输对象和数据对象DO,我们需要将DO对象进行属性复制到DTO,但是对象格式又不一样,所以我们需要编写映射代码将对象中的属性...
2024-01-10如何使用MyBatis / Spring进行批处理操作?
我想知道如何使用MyBatis 3和Spring 3使用我的插入语句实现批处理操作吗?例如,这是当前正在执行的操作:spring.xml:<bean id="jndiTemplateDatasource" class="org.springframework.jndi.JndiTemplate"> <property name="environment"> <props> <prop key="java.naming.factory.initial">${context.fac...
2024-01-10spring默认启动位置以及contextConfigLocation设置源码解析
spring默认启动位置以及contextConfigLocation设置源码解析这几天在看spring的源码,涉及到spring启动位置的部分,下面就看看spring到底是从哪儿开始加载的。本文使用的是spring3.0M3首先spring的加载会借助一个监听器ContextLoaderListener,直接上web.xml文件 <listener> <listener-class>org.springframework.web.context.Contex...
2024-01-10Spring Data JPA中findBy和findOneBy之间的区别
到目前为止,我所知道的是,FindBy可以返回多个结果,而FindOneBy将以以下方式返回单个结果或为null。List<Department> findByDepartmentName(String name);Department findOneByDepartmentId(Long Id);现在,我的问题是,我可以这样使用findBy吗?Department findByDepartmentId(Long Id);如是,假设给定ID有多个记录。findBydepartmentId 在...
2024-01-10如何JUnit测试Spring-Boot的Application.java
抱歉,这似乎是没有用的行为,但是有什么方法可以实际对Spring-Boot(1.3.8.RELEASE)的Application.java进行junit测试,该类除了启动Spring-boot之外什么也不做应用?如下:@SpringBootApplicationpublic class Application { public static void main(String[] args) { try{ SpringApplication.run(Applicati...
2024-01-10Jackson用spring的接口列表反序列化对象
我需要从Redis保存和加载对象。该对象包含GrantedAuthority列表(除其他外),它是一个接口:public class UserAccountAuthentication implements Authentication { private List<GrantedAuthority> authorities; private boolean authenticated = true; ...}Jackson成功地序列化了该对象,但未能反序列化,但有以下例外:abstrac...
2024-01-10面向切面编程 ( Aspect Oriented Programming with Spring )
本文内容纲要:- 1. 简介- 2. @AspectJ支持- 2.1. 启用@AspectJ支持- 启用@AspectJ用Java配置的方式- 启用@AspectJ用XML配置的方式- 2.2. 声明一个切面- 2.3. 声明一个切入点- 支持的切入点标识符- 组合切入点表达式- execution表达式- 2.4. 声明通知- 前置通知- 返回通知- 异常通知- 后置通知(最终通...
2024-01-10